package com.zhao.calendar;


/**
* @Description:
* @Author:       wuyh
* @CreateDate:   2018/6/26 19:35
* @Version:      1.0
*/
public class JulianCalendar {


	public JulianCalendar() {}

	/***
	 * 输入年，月，日算出儒略日 http://www.ilovematlab.cn/thread-19002-1-1.html
	 * 
	 * @param I
	 *
	 * @param J
	 *
	 * @param K
	 *
	 * @return
	 */
	public static int getJuLian(int I, int J, int K) {
		int jl = K - 32075 + 1461 * (I + 4800 + (J - 14) / 12) / 4 + 367 * (J - 2 - (J - 14) / 12 * 12) / 12
				- 3 * ((I + 4900 + (J - 14) / 12) / 100) / 4;
		return jl;
	}
	
	
	
	/***
	 * 取某世纪年的的儒略日数，如1900,1800,2000,2100
	 * 
	 * @param year
	 *            公元1百年
	 * @return 1757583
	 */
	public static int getJuLian_INT(int year) {		
		int quZhen = year/100;
		int quYu = year%100;
		String Str;
		
		if(0==quYu&&quZhen>0&& year!=0 ) {//整除100时取整减1 ：如果是1000年，则算900年的
			Str = String.valueOf(quZhen-1)+ "00";
		}else {
			Str = String.valueOf(quZhen)+ "00";
		}
		
		if(year<=0) {
			Str = String.valueOf((-year-1)/100-1)+ "00";
		}
		
		//System.out.println(Str);
		return getJuLian(Integer.valueOf(Str), 1, 1);
	}
	

}
